Introduction

This notebook facilitates the manual curation of sample alignment.

In [1]:
import deltascope.alignment as ut

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import h5py

import os
import re
import time
import tqdm

Setup

Parameters

In [2]:
# --------------------------------
# -------- User input ------------
# --------------------------------

param = {
    'gthresh':0.5,
    'scale':[1,1,1],
    'microns':[0.16,0.16,0.21],
    'mthresh':0.5,
    'radius':10,
    'comp_order':[0,2,1],
    'fit_dim':['x','z'],
    'deg':2,
    
    # Don't forget to modify this with a specific sample name
    'expname':'yot'
}

Directories

In [3]:
# --------------------------------
# -------- User input ------------
# --------------------------------

# Specify file paths to directories containing probability files
# after processing by ilastik
gfap = '.\data\ZRF1 You-Too HZ H5 files\Prob_7-29'
at = os.path.abspath('.\data\AT You-Too HZ Mutant H5 files\Prob_7-26')

# Specify root directory where output will be saved
root = '.\data'

root
Out[3]:
'.\\data'
In [4]:
# Output directory with timestamp
outname = 'Output_'+param['expname']+time.strftime("%m-%d-%H-%M",
                                 time.localtime())

# Create output directory
outdir = os.path.join(root,outname)
os.mkdir(outdir)

Extract list of files

In [5]:
Dat = {}
for f in os.listdir(at):
    if 'h5' in f:
        num  = re.findall(r'\d+',f.split('.')[0])[-1]
        Dat[num] = os.path.join(at,f)

Dat
Out[5]:
{'01': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_01_Probabilities.h5',
 '02': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_02_Probabilities.h5',
 '03': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_03_Probabilities.h5',
 '04': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_04_Probabilities.h5',
 '05': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_05_Probabilities.h5',
 '06': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_06_Probabilities.h5',
 '112': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_112_Probabilities.h5',
 '152': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_152_Probabilities.h5',
 '172': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_172_Probabilities.h5',
 '19': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_19_Probabilities.h5',
 '21': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_21_Probabilities.h5',
 '24': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_24_Probabilities.h5',
 '317': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_317_Probabilities.h5',
 '318': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_318_Probabilities.h5',
 '319': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_319_Probabilities.h5',
 '320': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_320_Probabilities.h5',
 '321': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_321_Probabilities.h5',
 '323': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_323_Probabilities.h5',
 '324': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_324_Probabilities.h5',
 '325': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_325_Probabilities.h5',
 '326': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_326_Probabilities.h5',
 '327': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_327_Probabilities.h5',
 '328': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_328_Probabilities.h5',
 '329': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_329_Probabilities.h5',
 '330': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_330_Probabilities.h5',
 '331': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_331_Probabilities.h5',
 '332': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_332_Probabilities.h5',
 '333': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_333_Probabilities.h5',
 '334': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_334_Probabilities.h5',
 '335': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_335_Probabilities.h5',
 '336': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_336_Probabilities.h5',
 '337': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_337_Probabilities.h5',
 '338': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_338_Probabilities.h5',
 '339': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_339_Probabilities.h5',
 '340': 'C:\\Users\\zfishlab\\Code\\deltascope\\experiments\\yot_experiment\\data\\AT You-Too HZ Mutant H5 files\\Prob_7-26\\AT_340_Probabilities.h5'}
In [6]:
Dzrf = {}
for f in os.listdir(gfap):
    if 'h5' in f:
        num  = re.findall(r'\d+',f.split('.')[0])[-1]
        Dzrf[num] = os.path.join(gfap,f)
In [7]:
# Extract list of filename keys
klist = list(Dat.keys())
In [8]:
# Create dictionaries to contain the deltascope brain object for each sample
Dbat = {}
Dbzrf = {}

PCA: Import raw data and perform preprocessing

You-too processing fo samples 19 21, and 172, with radius of 5, vs 10, to deal with the loss of all data in the array caused by radius 10 median filter causing the small sparse axon crossing to be comletely lost to the filter.

In [9]:
%%time
for k in tqdm.tqdm(klist):
    if k not in list(Dbat.keys()):
        if k in ['19','21','172']:
            param['radius'] = 5
        else:
            param['radius'] = 10
            
        try:
            Dbat[k] = ut.preprocess(Dat[k],param)
            Dbzrf[k] = ut.preprocess(Dzrf[k],param,pca=Dbat[k].pcamed,
                                 mm=Dbat[k].mm,vertex=Dbat[k].vertex)
        except:
            print(k,'caused an error')
    else:
        print(k,'already processed')
  0%|          | 0/35 [00:00<?, ?it/s]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
  3%|▎         | 1/35 [00:37<21:28, 37.91s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
  6%|▌         | 2/35 [01:24<22:20, 40.61s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
  9%|▊         | 3/35 [02:01<21:05, 39.53s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 11%|█▏        | 4/35 [03:00<23:24, 45.30s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
05 caused an error
 14%|█▍        | 5/35 [03:37<21:20, 42.69s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 17%|█▋        | 6/35 [04:20<20:38, 42.72s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 20%|██        | 7/35 [04:52<18:27, 39.55s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 23%|██▎       | 8/35 [05:30<17:42, 39.34s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 26%|██▌       | 9/35 [06:03<16:10, 37.34s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 29%|██▊       | 10/35 [06:27<13:52, 33.29s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 31%|███▏      | 11/35 [07:07<14:09, 35.42s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 34%|███▍      | 12/35 [07:38<12:58, 33.86s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 37%|███▋      | 13/35 [08:06<11:46, 32.13s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 40%|████      | 14/35 [09:12<14:48, 42.32s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 43%|████▎     | 15/35 [10:01<14:45, 44.30s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 46%|████▌     | 16/35 [11:20<17:21, 54.79s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 49%|████▊     | 17/35 [11:37<13:02, 43.48s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 51%|█████▏    | 18/35 [12:09<11:22, 40.14s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 54%|█████▍    | 19/35 [12:36<09:35, 35.99s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 57%|█████▋    | 20/35 [13:10<08:52, 35.52s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 60%|██████    | 21/35 [13:52<08:43, 37.42s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 63%|██████▎   | 22/35 [14:45<09:05, 41.94s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 66%|██████▌   | 23/35 [15:24<08:14, 41.19s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 69%|██████▊   | 24/35 [17:03<10:43, 58.47s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 71%|███████▏  | 25/35 [17:50<09:11, 55.18s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 74%|███████▍  | 26/35 [18:29<07:32, 50.23s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 77%|███████▋  | 27/35 [19:23<06:49, 51.25s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 80%|████████  | 28/35 [20:23<06:18, 54.10s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 83%|████████▎ | 29/35 [21:30<05:47, 58.00s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 86%|████████▌ | 30/35 [22:30<04:53, 58.62s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 89%|████████▊ | 31/35 [23:52<04:21, 65.37s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 91%|█████████▏| 32/35 [24:37<02:58, 59.42s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 94%|█████████▍| 33/35 [25:36<01:58, 59.13s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
 97%|█████████▋| 34/35 [26:22<00:55, 55.38s/it]C:\Users\zfishlab\AppData\Local\Continuum\anaconda3\envs\test\lib\site-packages\skimage\util\dtype.py:141: UserWarning: Possible precision loss when converting from float32 to uint8
  .format(dtypeobj_in, dtypeobj_out))
100%|██████████| 35/35 [27:22<00:00, 56.73s/it]
Wall time: 27min 22s

Define experiment specific functions

In [11]:
''' Define wrapper functions for starting and saving to minimize the number 
of inputs that the user needs to type for each call of the function.'''
def start(k):
    return(ut.start(k,Dbat,[Dbzrf],im=True))
def save_both(k,dfa,dfb):
    ut.save_both(k,dfa,dfb,outdir,param['expname'])

'''Save model parameters for each file to a dataframe that can be 
exported for later reference.'''
model = pd.DataFrame({'a':[],'b':[],'c':[]})
def save_model(k,mm,model):
    row = pd.Series({'a':mm[0],'b':mm[1],'c':mm[2]},name=k)
    model = model.append(row)
    return(model)

'''Define a function that can both fit a model and plot it on an existing plot'''
def fit_model(axi,df,mm=None):
    if mm == None:
        mm = np.polyfit(df.x,df.z,2)
    p = np.poly1d(mm)
    xrange = np.arange(np.min(df.x),np.max(df.x))
    axi.plot(xrange,p(xrange),c='m')
    return(mm)

'''Take a set of points and transform to a dataframe format for ease of access.'''
def pick_pts(x1,z1,vx,vz,x2,z2):
    pts = pd.DataFrame({'x':[x1,vx,x2],'z':[z1,vz,z2]})
    return(pts)

You-too processing fo samples 19 21, and 172, with radius of 5, vs 20, to deal with the loss of all data in the array caused by radius 20 median filter causing the small sparse axon crossing to be comletely lost to the filter.

In [12]:
k,df,Ldf,ax = start('19')
In [13]:
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
In [14]:
pts.iloc[0].x=40
In [15]:
pts.iloc[0].z=15
In [16]:
df1,Ldf1,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
In [17]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [18]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_19_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_19_yot.psi complete
In [19]:
k,df,Ldf,ax = start('21')
In [20]:
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
In [21]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [22]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_21_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_21_yot.psi complete
In [23]:
k,df,Ldf,ax = start('172')
In [24]:
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
In [25]:
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
Write to .\data\Output_yot03-09-23-21\AT_172_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_172_yot.psi complete

Processing of remaining you-too samples with 10 median filter

In [26]:
klist
Out[26]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [27]:
k,df,Ldf,ax = start('01')
In [28]:
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
In [29]:
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
Write to .\data\Output_yot03-09-23-21\AT_01_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_01_yot.psi complete
In [30]:
klist
Out[30]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [31]:
k,df,Ldf,ax = start('02')
In [32]:
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
In [33]:
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
Write to .\data\Output_yot03-09-23-21\AT_02_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_02_yot.psi complete
In [34]:
k,df,Ldf,ax = start('03')
In [35]:
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
In [36]:
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
Write to .\data\Output_yot03-09-23-21\AT_03_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_03_yot.psi complete
In [37]:
k,df,Ldf,ax = start('04')
In [38]:
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
In [39]:
pts = pick_pts(-60,8,-18,-10,25,8)
In [40]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [41]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_04_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_04_yot.psi complete
In [42]:
klist
Out[42]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [43]:
k,df,Ldf,ax = start('06')
In [44]:
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
In [45]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [46]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_06_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_06_yot.psi complete
In [47]:
klist
Out[47]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [48]:
k,df,Ldf,ax = start('112')
In [49]:
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
In [50]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [51]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_112_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_112_yot.psi complete
In [52]:
k,df,Ldf,ax = start('24')
In [53]:
df2,Ldf2,ax,p = ut.check_yz(df1,Ldf1)
In [54]:
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
In [55]:
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
In [56]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_24_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_24_yot.psi complete
In [57]:
klist
Out[57]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [58]:
k,df,Ldf,ax = start('152')
In [59]:
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
In [60]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [61]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_152_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_152_yot.psi complete
In [62]:
klist
Out[62]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [63]:
k,df,Ldf,ax = start('317')
In [64]:
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
In [65]:
p1=1,0
In [66]:
p1
Out[66]:
(1, 0)
In [67]:
df1,Ldf1,ax,p1= ut.check_yz(df,Ldf, mm=p1)
In [68]:
pts.iloc[1].x=30
In [69]:
pts.iloc[1].z=9
In [70]:
df2,Ldf2,ax = ut.revise_pts(df1,Ldf1,'z',pts=pts)
In [71]:
pts = pick_pts(-45,9,-8,-5,30,9)
In [72]:
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
In [73]:
p1=-.3,0
In [74]:
df1,Ldf1,ax,p1 = ut.check_yz(df,Ldf,mm=p1)
In [75]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_317_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_317_yot.psi complete
In [76]:
klist
Out[76]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [77]:
k,df,Ldf,ax = start('318')
In [78]:
p1=.3,0
In [79]:
df1,Ldf1,ax,p1 = ut.check_yz(df,Ldf,mm=p1)
In [80]:
df2,Ldf2,pts,ax = ut.check_pts(df1,Ldf1,'z')
In [81]:
pts.iloc[1].x = -40
In [82]:
pts.iloc[1].z=30
In [83]:
pts.iloc[0].x
Out[83]:
43.91412606545881
In [84]:
pts.iloc[0].z=25
In [85]:
df2,Ldf2,ax = ut.revise_pts(df1,Ldf1,'z',pts=pts)
In [86]:
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
In [87]:
pts = pick_pts(-42,30,-5,-5,41,30)
In [88]:
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
In [89]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_318_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_318_yot.psi complete
In [90]:
klist
Out[90]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [91]:
k,df,Ldf,ax = start('319')
In [92]:
p1=-.4,-5
In [93]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [94]:
pts = pick_pts(-35,22,0,-2,35,22)
In [95]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [96]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_319_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_319_yot.psi complete
In [97]:
klist
Out[97]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [98]:
k,df,Ldf,ax = start('320')
In [99]:
p1=-.5,-10
In [100]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [101]:
pts = pick_pts(-38,28,0,-10,45,28)
In [102]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [103]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_320_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_320_yot.psi complete
In [104]:
klist
Out[104]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [105]:
k,df,Ldf,ax= start('321') 
In [106]:
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
In [107]:
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
Write to .\data\Output_yot03-09-23-21\AT_321_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_321_yot.psi complete
In [108]:
k,df,Ldf,ax = start('323')
In [109]:
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
In [110]:
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
Write to .\data\Output_yot03-09-23-21\AT_323_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_323_yot.psi complete
In [111]:
k,df,Ldf,ax = start('324')
In [112]:
p1=.4,10
In [113]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [114]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [115]:
pts = pick_pts(-33,18,0,-4,33,18) 
In [116]:
df3,Ldf3,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [117]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_324_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_324_yot.psi complete
In [118]:
k,df,Ldf,ax = start('325')
In [119]:
p1=.5,10
In [120]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [121]:
pts = pick_pts(-30,12,0,-8,34,12) 
In [122]:
df3,Ldf3,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [123]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_325_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_325_yot.psi complete
In [124]:
klist
Out[124]:
['01',
 '02',
 '03',
 '04',
 '05',
 '06',
 '112',
 '152',
 '172',
 '19',
 '21',
 '24',
 '317',
 '318',
 '319',
 '320',
 '321',
 '323',
 '324',
 '325',
 '326',
 '327',
 '328',
 '329',
 '330',
 '331',
 '332',
 '333',
 '334',
 '335',
 '336',
 '337',
 '338',
 '339',
 '340']
In [125]:
k,df,Ldf,ax = start('326')
In [126]:
pts = pick_pts(-35,20,-7,-7,38,20) 
In [127]:
df3,Ldf3,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [128]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_326_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_326_yot.psi complete
In [129]:
k,df,Ldf,ax = start('327')
In [130]:
pts = pick_pts(-37,35,-2,-5,34,33) 
In [131]:
df3,Ldf3,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
In [132]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_327_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_327_yot.psi complete
In [133]:
k,df,Ldf,ax= start('328')
In [134]:
pts = pick_pts(-37,25,-8,-6,36,25) 
In [135]:
df3,Ldf3,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
In [136]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_328_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_328_yot.psi complete
In [137]:
k,df,Ldf,ax = start('329')
In [138]:
p1=.4,0
In [139]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [140]:
pts = pick_pts(-43,40,-4,-6,41,40) 
In [141]:
df3,Ldf3,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [142]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_329_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_329_yot.psi complete
In [143]:
k,df,Ldf,ax = start('330')
In [144]:
df2,Ldf2,mm,ax = ut.ch_vertex(df,Ldf)
In [145]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_330_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_330_yot.psi complete
In [146]:
k,df,Ldf,ax = start('331')
In [147]:
pts.iloc[0].z=33
In [148]:
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
In [149]:
pts = pick_pts(-45,30,-12,-10,38,30) 
In [150]:
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
In [151]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_331_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_331_yot.psi complete
In [152]:
k,df,Ldf,ax = start('332')
In [153]:
p1=1.9,5
In [154]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [155]:
pts = pick_pts(-35,20,0,-9,40,20)
In [156]:
df3,Ldf3,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [157]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_332_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_332_yot.psi complete
In [158]:
k,df,Ldf,ax= start('333')
In [159]:
df2,Ldf2,mm,ax = ut.ch_vertex(df,Ldf)
In [160]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_333_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_333_yot.psi complete
In [161]:
k,df,Ldf,ax = start('334')
In [162]:
p1=1.5,0
In [163]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [164]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [165]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_334_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_334_yot.psi complete
In [166]:
k,df,Ldf,ax = start('335')
In [167]:
p1=1.1,0
In [168]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [169]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [170]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_335_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_335_yot.psi complete
In [171]:
k,df,Ldf,ax = start('336')
In [172]:
pts = pick_pts(-47,30,0,-10,47,30)
In [173]:
df3,Ldf3,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
In [174]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_336_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_336_yot.psi complete
In [175]:
k,df,Ldf,ax= start('337')
In [ ]:
 
In [176]:
p1=2,0
In [177]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [178]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [179]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_337_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_337_yot.psi complete
In [180]:
k,df,Ldf,ax = start('338')
In [181]:
p1=1.3,0
In [182]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [183]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [184]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_338_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_338_yot.psi complete
In [185]:
k,df,Ldf,ax = start('339')
In [186]:
p1=2.5,0
In [187]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [188]:
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
In [189]:
model = save_model(k,mm,model)
save_both(k,df2,Ldf2[0])
Write to .\data\Output_yot03-09-23-21\AT_339_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_339_yot.psi complete
In [190]:
k,df,Ldf,ax = start('340')
In [191]:
p1=-.6,0
In [192]:
df1,Ldf1,ax,p1 =ut.check_yz(df,Ldf,mm=p1)
In [193]:
pts = pick_pts(-42,25,0,-7,45,25) 
In [194]:
df3,Ldf3,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
In [195]:
model = save_model(k,mm,model)
save_both(k,df3,Ldf3[0])
Write to .\data\Output_yot03-09-23-21\AT_340_yot.psi complete
Write to .\data\Output_yot03-09-23-21\ZRF_340_yot.psi complete
In [196]:
model
Out[196]:
a b c
19 0.008464 1.136371e-16 -3.165138e-17
21 0.012037 3.452154e-17 1.367952e-15
172 0.009387 7.192034e-17 1.845142e-16
01 0.006308 -4.025501e-18 -4.141205e-17
02 0.006842 -6.138029e-17 -1.776248e-15
03 0.007792 -6.342246e-17 3.498554e-15
04 0.009967 3.158546e-16 3.076751e-15
06 0.010219 1.156762e-16 1.029837e-14
112 0.008695 5.887005e-18 -8.374974e-15
24 0.008540 1.832153e-18 -4.195579e-15
152 0.010262 2.902752e-15 -1.906532e-14
317 0.009957 1.308289e-17 1.333254e-14
318 0.020564 9.039463e-17 6.155860e-15
319 0.019592 5.429173e-17 2.051160e-15
320 0.022222 -1.890531e-17 2.050926e-15
321 0.012618 9.026939e-17 3.190950e-16
323 0.009918 4.855057e-17 -9.585014e-16
324 0.020202 5.657709e-17 -1.025580e-15
325 0.019608 -3.712377e-16 -1.230841e-14
326 0.021429 1.702783e-16 -2.013006e-15
327 0.030964 1.081846e-16 4.254459e-15
328 0.024295 -3.440563e-17 2.045853e-15
329 0.026211 -1.605695e-16 4.101095e-15
330 0.014053 -4.268426e-17 -3.986014e-15
331 0.024242 -3.087059e-17 6.148170e-15
332 0.020714 3.140332e-17 -6.153307e-15
333 0.011727 -3.039149e-17 4.102879e-15
334 0.004499 3.838692e-18 -3.163107e-17
335 0.008192 1.352114e-17 -1.583530e-15
336 0.018108 7.803735e-17 -6.153481e-15
337 0.005931 3.573786e-17 2.008163e-15
338 0.007401 -6.922646e-17 -5.602470e-15
339 0.003955 -6.332466e-17 5.095478e-15
340 0.016931 7.218119e-18 -2.051154e-15
In [198]:
model.to_csv(os.path.join(outdir,'model.csv'))